package com.sfac.javaSpringBoot.modules.account.service;

import com.sfac.javaSpringBoot.modules.account.entity.User;
import com.sfac.javaSpringBoot.modules.common.entity.Result;
import com.sfac.javaSpringBoot.modules.common.entity.SearchBean;
import org.springframework.data.domain.Page;

import java.util.List;

public interface UserService {
//    插入操作
    Result<User> insertUser(User users);
//更新单条数据
    Result<User> updateUser(User user);
//根据id删除单条数据
    Result<User> deleteUserById(int id);



//    根据名字和email查询单个user
    User findFirstByUserNameAndEmail(String name,String email);

//  批量插入和修改
    Result<Object> insertUsers(List<User> users);
//    查询单个数据
    User getUserById(int id);
//    查询所有的user数据
    List<User> getAllUser();
//    根据id删除单个数据
    Result<Object> deleteUserByIdJpa(int id);
//    修改
    Result<User> editUser(User user);
//    分页查询
    Page<User> getUsersBySearchBean(SearchBean searchBean);

//    根据连表查询
    User getUserByIdForSql(int id);
    //根据用户名和密码查询user表
    Result<User> getUserByUserNameAndPassword(String userName,String password);

    Result<User> login(User user);

    void logout();

}

